package com.ruoyi.business.domain.koc;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_koc_task_type")
@ApiModel("koc任务分类")
public class TbKocTaskType extends BaseEntity {

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 名称
     */
    @ApiModelProperty(value = "koc任务类别名称")
    @TableField("name")
    @NotBlank(message = "koc任务类别名称")
    @Size(min = 0, max = 100, message = "koc任务类别名称不能超过100个字符")
    private String name;

    /**
     * code
     */
    @ApiModelProperty(value = "koc任务分类code标识")
    @TableField("code")
    @NotBlank(message = "koc任务类别code不许为空")
    @Size(min = 0, max = 100, message = "koc code不能超过100个字符")
    private String code;


    /**
     * remarks
     */
    @ApiModelProperty(value = "koc任务分类备注")
    @TableField("remarks")
    private String remarks;


    /**
     * 任务类型下的任务
     */
    @ApiModelProperty(value = "任务类型下的任务")
    @TableField(exist = false)
    private List<TbKocTask> tbKocTasks;
}
